Frameworks
אני לקראת סיום קורס ואני שוקל באיזה פריימוורק להתמחות, ואינני יודע אם ללכת על Yii Framework או CodeIgniter או בכלל לכיוון Symphony או Zend.
לפי מה שהבנתי, Yii Framework כרגע נמצא במקום הראשון במידת היעילות והמהירות שלו כFramework לכתיבת קוד בPHP בפלטפורמת MVC.
אך, האם בתור מתחיל ב-PHP ובכלל בOOP, מומלץ להתחיל משם?
בנוסף, אשמח לקבל מענה זהה אך להיבטים בנושא שוק העבודה, האם יעדיפו מתכנת PHP שיש לו נסיון בCodeIgniter מאשר Yii Framework?
בתודה מראש,
עידן.
3 תשובות
הי עידן,
השאלה ההגיונית היא בשביל מה אתה רוצה ללמוד לעבוד עם פריימוורק.
א. בשביל לבנות אתר לעצמך: yii
ב. בשביל למצוא עבודה: כל פריימוורק יתאים (בגלל שהם כולם עובדים לפי אותו קונצפט)
בכל אחת מהאופציות האלה, יהיה יותר חכם להתחיל קודם מללמוד OOP בסיסי, אחרת ההבנה של הפריימורק תהיה לא הכי פשוטה.
ספציפית לגבי זנד: הוא פריימוורק מאוד פופולארי בגלל השם שלו והחברה שעומדת מאחוריו.
אני אישית מוצא אותו נורא כבד ולא אקטואלי מבחינת החידושים הטכנולוגיים, אבל חברות בוחרות בו בגלל שיש לו תמיכה להרבה שנים קדימה מגוף עם שם. מה שנקרא "סטביליות". ככה שאם תלמד אותו, רוב הסיכויים שתמצא עבודה גם בעוד 5-7 שנים.
codeigniter: לדעתי הפריימוורק הכי גרוע שקיים היום בשימוש מסיבי, בגלל שהמבנה שלו גורם לזה שהתוצר יהיה בנוי בצורה לא נכונה. בלי להיכנס לנושאים של איכות הקוד, במשפט אחד האיכות של הקוד שתצא מזה ברוב הסיכויים תהיה מאוד מאוד נמוכה.
היתרון שלו מצד שני הוא שקל לעבוד איתו בגלל שלא צריך לדעת שום דבר, אפשר להיות יחסית מתחיל (או הודי) ולהצליח לבנות איתו משהו בלי להשתדל יותר מדי.
אני מאוד ממליץ להתרחק ממנו עד כמה שאפשר (וגם מאנשים שמתמשים בו, בתור עובדים).
YII הוא דווקא קופסה יפה ועמידה שעליה אפשר להעמיד את הקוד שלך והוא יהיה יציב וכנראה גם מספיק עמיד לתקופה ארוכה באיכות סבירה. הוא מאוד מאוד קל ללימוד וידידותי למתחילים - בגלל זה בתור פריימוורק ראשון הוא ידאלי. מקצר את תהליך הפיתוח בצורה מדהימה ומתאים ל 80% מהאתרים שהי פעם תרצה לבנות. במקרה שלך, בתור מתחיל ופריימוורק ראשון, לדעתי זה הבחירה הכי טובה שתוכל לעשות.
Laravel: אחלה פריימוורק, יותר מתקדם מבחינה טכנולוגית מ YII, אבל פחות ידידותי למתחילים, בגלל אותו הקטע הטכנולוגי שצריך ללמוד ולהבין. לא פופולארי בתעשייה בכלל ורוב האנשים שיראיינו אותך יסתכלו עליך בעיניים גדולות כשתגיד שאתה יודע Laravel.
סימפוני: קלאסיקה. הפריימוורק האידאלי למתכנת PHP מנוסה שיודע בדיוק מה הוא רוצה, איך הוא רוצה ולמה אי אפשר לעשות את זה בפריימוורקים אחרים. הוא מאוד גמיש, אבל ההבנה של התהליך הפנימי צריכה להיות הרבה יותר טובה. מאוד לא מתאים למתחילים ומיועד בעיקר לאותם 20% משימות שאי אפשר לעשות עם YII או Laravel. לא ממליץ להשתמש בו כל עוד אתה לא יודע להצביע בוודאות על הדברים שאתה לא אוהב ולא יכול לעשות עם הפריימורק שלך.
החיסרון, כאמור הוא הדרישות לידע הטכני של המתכנת וזמן הפיתוח לפעמים טיפה יותר גבוה (יותר גמישות = פחות דברים מוכנים מהקופסה)
מקובל בתעשייה בגלל סטביליות גבוה ובגלל שמתכנתים שמשתמשים בו בדרך כלל ברמה גבוה, מה שמקל על מעסיקים לסנן את הרשימה של המועמדים כשהם צריכים מישהו טוב. (זה לא אומר שמתכנתים אחרים לא יכולים להיות טובים)
לכן לבן אדם מתחיל אני חושב ש YII הוא הפריימוורק האידאלי, בגלל שהוא קל ללימוד
ברור, פשוט וקצת מפגר מבחינת חידושים טכנולוגיים (שזה יתרון, בגלל שלא צריך להעמיס יותר מדי בהתחלה).
התגובה שלי תהיה קצרה יותר משל אלכס, כי אני אגיד את זה ב-3 מילים, תלך על YII, תאמין לי הכי טוב
אבל קודם תלמד לתכנת לפי מה שאתה אומר אתה רק בהתחלה
עידן, כמו שהמגיבים הקודמים אמרו, קודם כל תלמד PHP ברמה יחסית גבוהה, ואז אני ממליץ על Laravel. (אני כרגע עובד על תרגום הספר הרשמי שלו, אם כי בקרוב תצא מהדורה חדשה, ואז אני אפסיק את התרגום של המהדורה הישנה.)
אין לי ניסיון עם Yii, אבל לפי מה שהבנתי מרוב האנשים פה - אם אתה לא רוצה את לארוול (וחבל D:) - לך על Yii.